#define _CRT_SECURE_NO_WARNINGS

#include<iostream>
using namespace std;

//class Solution {
//public:
//    int getLongestPalindrome(string A)
//    {
//        int ret = 0;
//        int n = A.size();
//        for (int i = 0; i < n; i++)
//        {
//            int left = i - 1;
//            int right = i + 1;
//            while (left >= 0 && right < n && A[left] == A[right])
//            {
//                left--;
//                right++;
//            }
//            ret = max(ret, right - left - 1);
//
//            left = i;
//            right = i + 1;
//            while (left >= 0 && right < n && A[left] == A[right])
//            {
//                left--;
//                right++;
//            }
//            ret = max(ret, right - left - 1);
//        }
//        return ret;
//    }
//};

#include <iostream>
using namespace std;

int main()
{
    int n = 0;
    cin >> n;
    int arr[n];
    int ret = 0;
    for (int i = 0; i < n; i++)
    {
        cin >> arr[i];
    }
    int prevmin = arr[0];
    for (int i = 1; i < n; i++)
    {
        prevmin = min(arr[i], prevmin);
        ret = max(ret, arr[i] - prevmin);
    }
    cout << ret;
    return 0;
}